package com.kerbores.utils.weather;

import java.util.List;

import org.nutz.lang.ContinueLoop;
import org.nutz.lang.Each;
import org.nutz.lang.ExitLoop;
import org.nutz.lang.Lang;
import org.nutz.lang.LoopException;
import org.nutz.lang.util.NutMap;
import org.nutz.log.Logs;

import com.kerbores.utils.baidu.common.BaiduApiInvoker;
import com.kerbores.utils.baidu.common.JsonBean;
import com.kerbores.utils.collection.Lists;
import com.kerbores.utils.entries.Result;

/**
 * @author 王贵源
 * @email kerbores@kerbores.com
 *
 *        create at 2015年10月16日 上午11:43:22
 */
public class BaiduWeather {

	public static class City extends JsonBean {
		private String name;

		/**
		 * @param name2
		 */
		public City(String name) {
			super();
			this.name = name;
		}

		/**
		 * @return the name
		 */
		public String getName() {
			return name;
		}

		/**
		 * @param name
		 *            the name to set
		 */
		public void setName(String name) {
			this.name = name;
		}

	}

	public static void main(String[] args) {
		System.err.println(listCitys());
	}

	public static List<City> listCitys() {
		Logs.get().debug("获取城市列表....");
		Result result = BaiduApiInvoker.get("4a6cfff3a7840913094a7cbb67d79537", "http://apis.baidu.com/apistore/aqiservice/citylist", NutMap.NEW());
		if (result.isSuccess()) {
			final List<City> citys = Lists.newArrayList();
			System.err.println(result.getData().get("citylist").getClass());
			Lang.each(result.getData().getList("citylist", String.class), new Each<String>() {

				@Override
				public void invoke(int paramInt1, String name, int paramInt2) throws ExitLoop, ContinueLoop, LoopException {
					citys.add(new City(name));
				}
			});
			return citys;
		}
		return null;
	}
}
